package pri.damai.xiaowu.common.core.enums.base;

/**
 * 枚举类接口
 * @Desc
 * @Author DaMai
 * @Date 2021/3/23 15:06
 * 但行好事，莫问前程。
 */
public interface Enumerator<T> {

    /**
     * 状态码
     * @apiNote [附加描述]
     * @return T
     * @author DaMai
     * @date 2021/9/27 11:18
     */
    T code();

    /**
     * 描述
     * @apiNote [描述此方法]
     * @return java.lang.String
     * @author DaMai
     * @date 2021/3/23 15:06
     */
    String desc();

    /**
     * 格式化消息字符串
     * @apiNote [附加描述]
     * @param obj 展位参数
     * @return java.lang.String
     * @author DaMai
     * @date 2021/9/28 14:53
     */
    default String format(Object... obj) {
        return String.format(desc(), obj);
    }
}
